NanoPi R2S OpenWrtイメージのSDファイルシステム修復と書き込み

公開

OpenWRT ルータとして2年使い続けている NanoPi R2S の SD カードのファイルシステムに破損が目立つようになったことから、定期生成しているオンラインバックアップ イメージ を検証の上、新しいメディアに書き込んで入れ替えました。

OpenWRTを入れたSDにファイルシステムエラーが発生

FriendlyElec NanoPi R2SOpenWRTルータとして使い始めて2年OpenWRTを入れたmicro SDのファイルシステムが壊れつつあるのか、起動時にrootfsが読み取り専用で立ち上がることが何度かありました。

これは、元々怪しげなノンブランドメディアを使っていることに加え、Cloud対応版のNetdataを導入したことで、容量が逼迫した状態でストレージへのI/Oが高くなったことが原因でしょう。

Cloud版Netdataのログを内包するには、さすがにもう少し余裕のあるストレージメディアに入れ替えた方が良さそうです。

ちなみに、OpenWRTパッケージ版のNetdataは(導入記事はこちら)、スタンドアロン動作に限った仕様でビルドされています。

 

SDオンラインバックアップイメージをマウントして検証と修復

このシステムは定期的にNASへのイメージバックアップをオンライン生成しているので、

このイメージを新しいメディアへ書き込んで使い物になるのか、Ubuntu 18.04デスクトップ上でループデバイスに登録して検証します(手順は以前の記事を参照)。

ローカルへコピーしたイメージアーカイブを解凍して、パーティション構造を確認。

ループデバイスへ登録。

両パーティションに fsck を掛けてみると、やはり rootfs に大量の問題点が摘出されるも、全て回復できた模様。

イメージファイルのタイムスタンプが更新されているのを確認して、ループデバイスの後始末。

 

balenaEtcherで少し大きなSDへ書き込みと拡張

前回同様、少容量のジャンクmicro SDを淘寶で購入。今回は2GBメディアにしたところ、届いたのは2GBだけFAT32フォーマットされた4GBメディアでした。ジャンクSD界隈でもとうとう最低容量4GB〜なのかもしれません。

図1.2GBを謳いながら実は4GBなジャンクSD

図1.2GBを謳いながら実は4GBなジャンクSD

一度きれいさっぱり初期化させた後、 dd コマンドでイメージを書き込んでみるも、読み取れないことがあったのでbalenaEtcherで書き込み。

図2.balenaEtcherで書き込み

図2.balenaEtcherで書き込み

そのままGPartedで容量を800MB→1800MBへとリサイズします。

図3.GPartedでパーティション拡張

図3.GPartedでパーティション拡張

出来上がった新メディアを fsck に掛け、問題ないことを確認。

 

新しいSDから生成されたイメージを検証

早速NanoPi R2Sのシステムを新しいメディアへ入れ替え、OpenWRTが問題無く動作しました。

数日後、この新しいメディアによってオンラインで生成された、バックアップイメージを同じ要領で検証します。

まだ問題点はいくつか出てくるものの、数は少ないのでOpenWRTのメジャーアップグレードまではこのまま動かそうと思います。

ちなみに、取り出した古いメディアの方も dd に掛けてみたところ、こちらはやはりイメージ検証時を遥かに上回る量のエラーと修正の量に。一応全て修復されたと言い張る実行結果ではありますが、廃棄処分するのが良さそうです。

 

created by Rinker
¥8,990 (2024/06/11 15:41:41時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA